(Not Applicable)
1. Technical Field
This invention relates generally to resource management and more particularly to resource managed electronic systems.
2. Description of the Related Art
Traditionally, electronic and manufacturing systems have been designed and implemented to perform specific pre-defined functions. Such functions have typically been analyzed as part of the system development and design so that the proper resources, e.g. software and hardware are integrated into the final system which are adequate to allow the system to perform the pre-defined function for which it was intended. Significantly, however, as systems have developed a greater degree of microprocessor control and software dependence, there has arisen a potential for greater flexibility in the various functions which may be performed. If the necessary hardware resources are available to the system and proper software is provided, a variety of different functions may be provided using the same equipment. One example of such a system would be a spacecraft or earth satellite for which mission requirements may vary over time. It is desirable in such cases to reconfigure the spacecraft or earth satellite in such case to perform a new function. The need to reconfigure the spacecraft or electronic system in this way may be the result of obsolescence of an older technology or simply the changing functionality needed on a day to day basis. In any case, there exists the potential need to reconfigure the operation of an existing electronic system without exceeding the capabilities of the available resources which comprise the system.
Another type of electronic system which often needs to be reconfigured for varying functions are communications radios. It may be noted that recent developments in radio technology have resulted in continuing advances and ever changing requirements in the field of communications. This is particularly true in the field of certain types of military and civilian communications equipment which must be capable of providing communications using a variety of different air interfaces, tranceive frequencies, modulation techniques, encoding schemes, messaging protocols, and the like. In the past, a variety of purpose built communications equipment has been manufactured to satisfy the needs for each application. Such equipment has typically included a unique combination of various customized RF circuitry, modulation and demodulation components, specialized signal processing components, some form of output driver for communicating with a user and related data processing equipment. Some of these components were implemented as software whereas others have been implemented as hardware. As technology advances, however, it has been found that such systems can quickly become obsolete, requiring the purchase of new equipment necessary to ensure compatibility with state of the art communication systems. Such has been the case with certain cellular telephone technologies, for example. Alternatively, a particular communication system which may be configured for operation in one geographic area and/or service requirement may be unsuitable for use in another geographic area or service requirement due to differences in algorithms used or other system specific issues. Alternatively, a radio may concurrently need to provide one or more different types of communication functions.
One solution which has been proposed to address these issues as concerns communications equipment is the software definable radio (SDR). Such systems would utilize a limited amount of generic radio hardware and related computer processing hardware to implement many of the radio component functions as software algorithms running on special purpose digital processors. General purpose transceivers could then be built that would be capable of downloading any necessary software algorithms or radio component functions, for example, over the airwaves. This new breed of radio would be capable of reconfiguring themselves in this way so as to talk with to any other radio, regardless of its signal format. Theoretically, such radio units would never become obsolete. Significantly, however, in the case of the modern multi-band multi-functional radios which are presently required for many military and commercial applications, the resource management problem which arises in creating or reconfiguring an SDR is complex. Such systems may provide a dozen or more communication links simultaneously for various purposes, each having unique requirements with regard to radio component functionality. For example, required multi-band multi-functional communications terminals, may provide programmable modulation and demodulation, as well as link, network, user interface and message processing capabilities. Each communication link may require certain RF components, antenna interface components, signal processing components, decoding components, encryption algorithms, output drivers, and the like. Moreover, in certain cases, a multi-band multi-functional SDR may need to be reconfigured rapidly to perform a new set of functions. This might occur, for example, in the case of an aircraft communications suite wherein the aircraft is to be used in several different operating areas, for several different missions or for several phases of the same mission. In such cases, a difficulty arises in that the SDR possesses limited resources. For example, the communications terminal may have only a limited number of programmable microprocessors, multi-band transceivers, mass storage units, encryption units, and so on.
When the SDR or any other electronic system such as an earth satellite or spacecraft is to be reconfigured for a new set of mission requirements, it is necessary to provide some means for allocating such resources among the various new functions which are required. In the case of the SDR, resources must be allocated among the various radio communication links which are to be established for a mission. In the case of a spacecraft, the equipment needed to perform various functions must be allocated. In either case, the problem is particularly acute in situations where the equipment needed to perform a particular function or provide a particular communication link must share componentry with other functional blocks or communication links so that all may operate concurrently.
Resource sharing can occur in a variety of ways. For example, a multi-band transceiver can be time or band shared between different communication links. Information security (xe2x80x9cinfosecxe2x80x9d) coder/decoder units and message processors can be time shared or multi-tasked to function concurrently for more than one link. RF modules and antenna interface modules can be designed to offer a plurality of RF channels which may be shared among the various virtual communication units which are currently implemented in the SDR. In any case, each virtual communication unit or link will demand a certain portion of a shared module""s total available functionality. Significantly, however, the total demands placed on a particular shared module cannot exceed the total available functionality provided by the module.
An object of the present invention is to provide a resource manager for an electronic system. For convenience, the invention will be described in relation to a resource managed software definable radio (SDR) for providing a desired virtual communication unit or link. However, it should be understood that the resource management system as described herein may be used for any complex reconfigurable electronic or manufacturing system, including for example a spacecraft, earth orbiting satellite or a plurality of factory resources.
In general, the invention concerns a property based decision support system and method for allocating existing resources to implement a functional unit. The system assumes a plurality of resource modules, each providing a component function for implementing a portion of the functional unit and having a set of properties associated therewith. A resource module property object is provided for defining a set of properties for each of the plurality of resource modules and an evaluation expression for each of the properties. A link object defines a set of required modules having required properties associated therewith which are necessary to implement the functional unit. A resource management processor is responsive to a user request for accessing the resource module property object and the link object, and processing the evaluation expression to compare the required properties of each of the required modules to the properties of the plurality of resource modules to determine if the properties of the plurality of resource modules are sufficient to implement functional unit. The processor allocates the resource modules to the functional unit in accordance with the set of required modules defined by the link object if the evaluation expression for each of the required properties is satisfied.
In the case of the SDR, the system has a plurality of resource modules in the form of hardware and/or software, each configured for providing a specific radio component function and having a set of defined properties. A link object is provided for defining a set of required modules, having corresponding properties associated therewith, which are necessary to provide the desired communication function for a particular link. The desired link to be implemented is referred to as a virtual communication unit because it can be assembled from any variety of modules in the SDR which satisfy the requirements of the link object. The link object also preferably defines a list of parameter settings for each of the modules so that each module can be configured as needed for a particular radio link.
The system includes a resource management processor which is responsive to a user request for a virtual communication unit. In effect, this is a request to allocate at least one of the resource modules contained as part of the SDR, to a particular link object in accordance with the set of required modules for the link. The resource manager processor compares the set of required modules to the plurality of resource modules to determine if the modules in the SDR and their corresponding properties can be allocated to satisfy the set of required modules and their corresponding properties. If sufficient module resources are available with the needed properties, the appropriate one or more modules are allocated to the virtual communication unit in accordance with the set of required modules defined by the link object. The resource management processor also advantageously sets a set of module parameters in accordance with the list of parameter settings contained in the link object.
The modules included with the resource managed SDR modules may include software or hardware elements as necessary for performing radio functions to create a particular virtual communication unit or link. Thus, a particular module may be an RF component, antenna interface component, a signal processing component such as a microprocessor and associated software, decoding components, encryption/decryption software or hardware, software or hardware output drivers etc.
According to one aspect of the invention, one or more of the modules included with the SDR has the ability to be shared among two or more links. In order to facilitate this result, a shared resource property is defined for each module. The shared resource property defines the extent to which a module that may be used for one link may also be used to implement another link. Typically, the shared resource property will be defined in terms of a xe2x80x9cpercentage usedxe2x80x9d value which may be evaluated relative to a percentage needed value for a particular link to determine if sufficient resources are present to be allocated. This capability is particularly useful in the case of certain limited resources which must be shared among two or more links. The shared resource property of such modules in the present invention is capable of identifying a remaining portion of the module available for allocation, either by indicating the extent that the particular module resource is in use, by specifying the remaining extent of its availability or other suitable means. The module shared resource property is updated by the resource manager processor to reflect the resource availability after modules have been allocated for creating a desired link.
An availability property is also advantageously provided which defines the availability of each particular module which potentially may be allocated to form a particular link. More specifically, the availability property indicates that a particular module is installed and working. Thus, a particular module may have all the necessary properties for it to be used in a particular link, but because of a failure within the module, it may be xe2x80x9cunavailablexe2x80x9d. This feature enables hot insertion of modules while the system is operating, and active re-routing of signals based on module failure. When a status message from a module identifies that the module is no longer xe2x80x9cavailablexe2x80x9d, a remaining module in the system can be allocated to the link if it possesses all the correct properties, including a suitable shared resource property.
According to another aspect of the invention, the system includes a link building system for creating the link object, defining the set of required radio function modules having corresponding properties associated therewith, and defining the list of parameter setting for each of the modules necessary to provide the desired communication function. In this way, a user can reconfigure the software definable radio as needed, creating new link objects to provide new link functionality while maintaining the ability to manage the resources in an SDR to provide that link and others.
The invention further includes a method for managing resources in a computer controlled software definable radio. The method includes the steps of receiving a request to implement a virtual communication unit for providing a radio link and retrieving from a computer memory a link object for the virtual communication unit. The link object defines a required set of modules and required module properties necessary to implement the virtual communication unit. The computer then retrieves from the computer memory a module resource list which identifies the resource modules which can be allocated to the virtual communication unit and the properties of the resource modules. The required set of modules and required module properties from the link object are processed to determine if the resource modules and the properties of the resource modules are sufficient to implement the virtual communication unit. Finally, the resource modules are assigned to the virtual communication unit if it is determined that the software defined radio has sufficient resources.
According to one aspect of the invention the method further includes the step of updating the module resource list after a resource module has been assigned to the virtual communication unit. The resource module properties include a shared resource property as described above. The shared resource property defines the extent to which a module which may be used for one line may also be used for another link. Typically, the shared resource property will be defined in terms of a percentage used value which may be evaluated relative to a percentage needed value for a particular link to determine if sufficient resources are present to be allocated.
Finally, the link object includes a set of module parameters for at least one module contained in the set of required modules. The method according to the invention further includes the step of setting the module parameters in accordance with the set of module parameters in order for the virtual communication unit to properly function.